/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.companhia.controller;

import br.com.companhia.interfaces.IFuncionario;
import br.com.companhia.model.Funcionario;
import br.com.companhia.model.Limpeza;
import br.com.companhia.model.Pesquisador;
import br.com.companhia.model.Secretario;
import br.com.companhia.util.DAOFactory;
import java.util.List;

/**
 *
 * @author Andre
 */
public class FuncionarioController {

    private IFuncionario funcionarioDAO;

    public FuncionarioController(Funcionario funcionario) {
        if(funcionario instanceof Pesquisador)
            funcionarioDAO = DAOFactory.criarFuncionarioPesquisadorDAO();
        else if(funcionario instanceof Secretario)
            funcionarioDAO = DAOFactory.criarFuncionarioSecretarioDAO();
        else if(funcionario instanceof Limpeza)
            funcionarioDAO = DAOFactory.criarFuncionarioLimpezaDAO();
    }
    
    public Funcionario carregar(int id){
        return funcionarioDAO.carregar(id);
    }
    
    public void salvar(Funcionario funcionario){
        Integer id = funcionario.getId();
        if(id == null || id == 0){
            funcionarioDAO.salvar(funcionario);
        } else {
            funcionarioDAO.atualizar(funcionario);
        }
    }
    
    public void excluir(Funcionario funcionario){
        funcionarioDAO.excluir(funcionario);
    }
    
    public List<Funcionario> listar(){
        return funcionarioDAO.listar();
    }
    

}
